<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="com.yixun.system.model.UserInfo"%>
<%@ page import="com.yixun.system.SysConstants"%>
<%@ include file="/taglibs.jsp"%>
<html>
<head>
	<title>巧房宝运营管理后台</title>
   <%@ include file="/categorys.jsp"%>
   <style>
   	body {
	  background-color: #e8e8e8;
	}
   	.layout-panel-north .panel-body {
	  background-color: #e8e8e8;
	}
	.tabs-title {
  		font-size: 16px;
	}
	.tabs-with-icon {
  		padding-left:5px;
	}
	.tabs-closable {
  		padding-right: 12px;
	}
   </style>
	<script type="text/javascript">
	    $.fn.panel.defaults.cache = false;
		$(document).ajaxError(function(event, request, settings){
			if(request.status=='601'){
				$.messager.alert('友情提示','权限不足');
			}
			if(request.status=='602'){
				window.location = '${ctx}/user/login';
			}
	    }); 
		
		function openTab(url, title){
			var tt = $('#tt');  
			if (tt.tabs('exists', title)){//如果tab已经存在,则选中并刷新该tab          
		        tt.tabs('select', title);  
		        $('#tt').tabs('getTab',title).panel('refresh'); 
			} else {  
				var content;
		        if (url){  
		            content = $('<iframe scrolling="yes" frameborder="0"  src="${ctx}'+url+'" style="width:100%;height:auto;min-height:1800px;background-color:white;"></iframe>');  
		        } else {  
		            content = '未实现';  
		        }  
		        
		        tt.tabs({
		        	onContextMenu : function(e, title) {
						$('#index_tabsMenu').menu({
							onClick : function(item) {
								var curTabTitle = $(this).data('tabTitle');
								var type = $(item.target).attr('title');

								if (type === 'refresh') {
									$('#tt').tabs('getTab',curTabTitle).panel('refresh');
									return;
								}

								if (type === 'close') {
									var t = $('#tt').tabs('getTab', curTabTitle);
									if (t.panel('options').closable) {
										$('#tt').tabs('close',curTabTitle);
									}
									return;
								}
								
								if(type === 'closeAll'){
									closeAllTabs();
								}
								
								if(type === 'closeOther'){
									closeOtherTabs(curTabTitle);
								}
							}
						}).menu('show', {
							left : e.pageX,
							top : e.pageY
						}).data('tabTitle', title);
						
						 e = window.event||e;
						 if( e && e.preventDefault ){
						     e.preventDefault(); 
						 }else{
						     window.event.returnValue = false; 
						 } 
						 if (window.event) {
							e.cancelBubble=true;// ie下阻止冒泡
						 } else {
						 	e.stopPropagation();// 其它浏览器下阻止冒泡
						 }
					}
		        }).tabs('add',{  
		            title:title,  
		            closable:true,  
		            content:content,
		            border:false,
		            iconCls:'icon-default'  
		        }); 
		        
		        window.__content = content;
		        
		        if(content&&content[0]&&content[0].contentWindow){
		        	resizeIframe(content[0].contentWindow);
		        }
			}  

		}
		
		function resizeIframe(mwindow){
			mwindow.onload = function(){
				if(mwindow.$(mwindow.document.body).html().indexOf('登陆超时,将尝试跳转到登陆页面.') != -1){
					var m = mwindow.parent||self;
					m.location.href = '${ctx}/';
				}else{
					mwindow.$(mwindow.document.body).css({'height':$('<iframe>').eq(0).height()+'px','background-color':'white','margin':'0px 30px'});
					mwindow.$(mwindow.document.body).find('.panel-header').eq(0).css({'border-top-width':'0px'});
					mwindow.$(mwindow.document.body).find('.panel-body').eq(0).css({'border':'none'});
					mwindow.$(mwindow.document.body).find('.panel-body-noheader').eq(0).css({'border':'none'});
					var mlen = ($(window).width() - 1280)/2
					mwindow.$(mwindow.document.body).find('.fm_sty').find('.ipt_title').css({'min-width':(80+mlen)+'px'});
					mwindow.$(mwindow.document.body).resize(function(){
						mwindow.$(mwindow.document.body).css({'height':$('<iframe>').eq(0).height()+'px','background-color':'white'});
	        		});
				}
        	};
		}
		
		function closeAllTabs(){
			var allTabs = $('#tt').tabs('tabs');
			$(allTabs).each(function(i,tab){
				var opt = tab.panel('options');
				if (opt.closable){
					$('#tt').tabs('close', opt.title);
				}
			});
		}
		
		function closeOtherTabs(curTabTitle){
			var allTabs = $('#tt').tabs('tabs');
			$(allTabs).each(function(i,tab){
				var opt = tab.panel('options');
				if (opt.closable && opt.title != curTabTitle){
					$('#tt').tabs('close', opt.title);
				}
			});
		}
		
		function expandNode(roots,myTree,result,index){
			var length = result.length;
			if(index==length){
				return;
			}
			for(var i=0; i<roots.length; i++) {
				if(roots[i].id == result[index]) {
					myTree.tree('expand',roots[i].target);
					var children = myTree.tree('getChildren',roots[i].target);
					index++;
					expandNode(children,myTree,result,index);
				}
			}
		}
		
		$(function(){
	    	//处理键盘事件 禁止后退键（Backspace）密码或单行、多行文本框除外  
	    	function banBackSpace(e){     
	    	    var ev = e || window.event;//获取event对象     
	    	    var obj = ev.target || ev.srcElement;//获取事件源     
	    	    var t = obj.type || obj.getAttribute('type');//获取事件源类型    
	    	      
	    	    //获取作为判断条件的事件类型  
	    	    var vReadOnly = obj.getAttribute('readonly');  
	    	    var vEnabled = obj.getAttribute('enabled');  
	    	    //处理null值情况  
	    	    vReadOnly = (vReadOnly == null) ? false : vReadOnly;  
	    	    vEnabled = (vEnabled == null) ? true : vEnabled;  
	    	      
	    	    //当敲Backspace键时，事件源类型为密码或单行、多行文本的，  
	    	    //并且readonly属性为true或enabled属性为false的，则退格键失效  
	    	    var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")&&(vReadOnly==true || vEnabled!=true))?true:false;  
	    	     
	    	    //当敲Backspace键时，事件源类型非密码或单行、多行文本的，则退格键失效  
	    	    var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")?true:false;          
	    	      
	    	    //判断  
	    	    if(flag2){  
	    	        return false;  
	    	    }  
	    	    if(flag1){     
	    	        return false;     
	    	    }     
	    	}  
	    	  
	    	//禁止后退键 作用于Firefox、Opera  
	    	document.onkeypress=banBackSpace;  
	    	//禁止后退键  作用于IE、Chrome  
	    	document.onkeydown=banBackSpace;
	    });

		//用于金额右对齐
		function content_right(val){
			return '<div style="text-align:right;">'+val+'</div>';
		}
	</script>
	
<script>
	$.extend($.fn.validatebox.defaults.rules, {
	    minLength : { // 判断最小长度
	        validator : function(value, param) {
	            return value.length >= param[0];
	        },
	        message : '最少输入 {0} 个字符。'
	    },
	    length:{validator:function(value,param){
	        var len=$.trim(value).length;
	            return len>=param[0]&&len<=param[1];
	        },
	            message:"输入内容长度必须介于{0}和{1}之间."
	        },
	    phone : {// 验证电话号码
	        validator : function(value) {
	            return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
	        },
	        message : '格式不正确,请使用下面格式:020-88888888'
	    },
	    mobile : {// 验证手机号码
	        validator : function(value) {
	            return /^(13|15|18)\d{9}$/i.test(value);
	        },
	        message : '手机号码格式不正确'
	    },
	    idcard : {// 验证身份证
	        validator : function(value) {
	            return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
	        },
	        message : '身份证号码格式不正确'
	    },
	    intOrFloat : {// 验证整数或小数
	        validator : function(value) {
	            return /^\d+(\.\d+)?$/i.test(value);
	        },
	        message : '请输入数字，并确保格式正确'
	    },
	    currency : {// 验证货币
	        validator : function(value) {
	            return /^\d+(\.\d+)?$/i.test(value);
	        },
	        message : '货币格式不正确'
	    },
	    qq : {// 验证QQ,从10000开始
	        validator : function(value) {
	            return /^[1-9]\d{4,9}$/i.test(value);
	        },
	        message : 'QQ号码格式不正确'
	    },
	    integer : {// 验证整数
	        validator : function(value) {
	            return /^[+]?[1-9]+\d*$/i.test(value);
	        },
	        message : '请输入整数'
	    },
	    chinese : {// 验证中文
	        validator : function(value) {
	            return /^[\u0391-\uFFE5]+$/i.test(value);
	        },
	        message : '请输入中文'
	    },
	    english : {// 验证英语
	        validator : function(value) {
	            return /^[A-Za-z]+$/i.test(value);
	        },
	        message : '请输入英文'
	    },
	    unnormal : {// 验证是否包含空格和非法字符
	        validator : function(value) {
	            return /.+/i.test(value);
	        },
	        message : '输入值不能为空和包含其他非法字符'
	    },
	    username : {// 验证用户名
	        validator : function(value) {
	            return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
	        },
	        message : '用户名不合法（字母开头，允许6-16字节，允许字母数字下划线）'
	    },
	    faxno : {// 验证传真
	        validator : function(value) {
	//            return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value);
	            return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
	        },
	        message : '传真号码不正确'
	    },
	    zip : {// 验证邮政编码
	        validator : function(value) {
	            return /^[1-9]\d{5}$/i.test(value);
	        },
	        message : '邮政编码格式不正确'
	    },
	    ip : {// 验证IP地址
	        validator : function(value) {
	            return /d+.d+.d+.d+/i.test(value);
	        },
	        message : 'IP地址格式不正确'
	    },
	    name : {// 验证姓名，可以是中文或英文
	            validator : function(value) {
	                return /^[\u0391-\uFFE5]+$/i.test(value)|/^\w+[\w\s]+\w+$/i.test(value);
	            },
	            message : '请输入姓名'
	    },
	    carNo:{
	        validator : function(value){
	            return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value); 
	        },
	        message : '车牌号码无效（例：粤J12350）'
	    },
	    carenergin:{
	        validator : function(value){
	            return /^[a-zA-Z0-9]{16}$/.test(value);
	        },
	        message : '发动机型号无效(例：FG6H012345654584)'
	    },
	    email:{
	        validator : function(value){
	        return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value); 
	    },
	    message : '请输入有效的电子邮件账号(例：abc@126.com)'    
	    },
	    msn:{
	        validator : function(value){
	        return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value); 
	    },
	    message : '请输入有效的msn账号(例：abc@hotnail(msn/live).com)'
	    },same:{
	        validator : function(value, param){
	            if($("#"+param[0]).val() != "" && value != ""){
	                return $("#"+param[0]).val() == value; 
	            }else{
	                return true;
	            }
	        },
	        message : '两次输入的密码不一致！'    
	    }
	});
	
	$(function(){
		$(document.body).css({'height':$(window).innerHeight()+'px','max-height':$(window).innerHeight()+'px'});
// 		$(window).scroll(function(){
			
// 		});
	});
	
</script>
</head>
<body class="easyui-layout" style="overflow-y:scroll;" id="indexPage">
	<div id="_scroll_top" style="position:absolute;top:0px;left:0px;width:1px;height:1px;"></div>
	<div data-options="region:'north',border:false,href:'${ctx}/index/top'" style="height:90px;"></div>
	<div data-options="region:'west',border:false,href:'${ctx}/index/left'" style="margin-left:50px;width:230px;overflow:hidden;min-height:2000px;border-radius: 5px 0px 0px 5px;"></div>
	<div data-options="region:'center'" id="cc" style="background-color:white;border-radius: 0px 5px 5px 0px;min-height:2000px;">
		<div id="tt" class="easyui-tabs" data-options="border:false,tabHeight:34" style="background-color:white;">
		<div title="欢迎页">
			<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
				<tr>
					<td align="center" valign="middle"><img src="${img}/welcome.gif" width="622" height="356"></td>
				</tr>
			</table>
		</div>
		</div>
	</div>
	<div data-options="region:'east',border:false" style="width:50px;background-color:#e8e8e8">
		<div id="index_tabsMenu" style="width: 120px; display: none;">
			<div title="refresh" data-options="iconCls:'transmit'">刷新</div>
			<div class="menu-sep"></div>
			<div title="close" data-options="iconCls:'delete'">关闭</div>
			<div title="closeOther" data-options="iconCls:'delete'">关闭其他</div>
			<div title="closeAll" data-options="iconCls:'delete'">关闭所有</div>
		</div>
	</div>
	</div>
</body>
</html>